Currently, in communication using TCP (Transmission Control Protocol) which is widely used as a communication protocol for safely and accurately transmitting a large amount of data via the Internet, a window control is used in order to perform efficient data transfer.
In the window control, first of all, a data receive side notifies a receive buffer size (RWIN, Receive Window) to a data transmission side. The data transmission side may transmit an amount of data of the receive buffer size (RWIN) without waiting for an acknowledgement (ACK) of the receive side.
In this case, when RWIN is too small compared to a line speed, a throughput is decreased due to deterioration of data transfer efficiency. Furthermore, when RWIN is too large compared to the line speed, the throughput is decreased since it takes time for retransmission processing due to data loss.
TCP which is the above communication protocol includes a congestion control function for appropriately adjusting a congestion window (CWND, Congestion Window) according to a congestion condition of a network. The congestion control function of the TCP includes a function which always checks a communication state and configures to increase a transmission band by increasing the congestion window when congestion does not exist in the network and to decrease the transmission band by decreasing the congestion window when congestion exists in the network.
As an example of TCP versions employing such a congestion control function, there is TCP-Reno (NPL 1). In the TCP-Reno, when an occurrence of a packet discard is detected in a congestion avoidance operation, it is determined that the network is in a congestion state and the congestion window is reduced to a half of the current one and, thereby, the transmission band is decreased.
On the other hand, when an occurrence of a packet discard is not detected, it is determined that the network is not in the congestion state and the transmission band is slowly increased by linearly increasing the congestion window by 1 MMS (Maximum Segment Size).
Incidentally, TCP-Reno has a problem that an originally-expected throughput cannot be obtained subsequently until the window size is increased to a sufficient size since it once halves the size of the congestion window when a packet discard occurs.
This is a serious problem especially for wireless lines or the like in which a packet discard may occur due to causes other than congestion. In other words, despite a packet discard not caused by congestion, the TCP throughput is unnecessarily decreased.
Furthermore, since TCP-Reno does not transmit next data until ACK is returned as an acknowledgement after transmitting an amount of data of the window size, the TCP throughput is unnecessarily decreased when RTT (Round Trip Time) as a transmission data response time becomes large.
For example, in wireless lines to which communication methods such as WiMAX (Worldwide Interoperability for Microwave Access), HSPA (High Speed Packet Access), LTE (Long Term Evolution) are applied, errors may occur in a wireless link layer between a mobile terminal and a base station. Thus, when a packet discard occurs due to a cause other than congestion, the TCP throughput is unnecessarily decreased.
On the other hand, as a technical method for recovering the errors, an automatic repeat request (ARQ: Automatic Repeat Request) for automatically retransmitting in the wireless link layer between the mobile terminal and the base station may be used. In this case, although it is possible to prevent a packet discard, an increase of RTT not caused by congestion in response to a time required for the automatic repeat request occurs and at the same time the TCP throughput is unnecessarily decreased.
A technology described in PTL 1 has been known as a related technology which provides some information from the network to the terminal whether or not the packet discards are caused by congestion when the packet discards occur (a first related technology).
In other words, PTL 1 in which the first related technology is described discloses a technology in which, when a packet discard due to an error of the line occurs, ELN (Explicit Loss Notification) information is transmitted from a receive terminal to a transmission terminal and the transmission terminal does not unnecessarily decrease the congestion window when the packet discard is not due to congestion.
In addition, a technology described in PTL 2 has been known as a related technology which performs a congestion determination using information a TCP transmission terminal has and takes a corresponding measure instead of immediately determining that the packet discard occurrence described above is a congestion occurrence (a second related technology).
In other words, PTL 2 in which the second related technology is described discloses a technology in which the congestion window is not decreased even when a packet discard is detected, by first measuring RTT of the line and determining that there is no congestion when the RTT is equal to or less than a certain value.
Furthermore, as a third related technology, for example, PTL 3 discloses a technology in which a communication device for performing a communication session based on a congestion window estimates a utilization rate of a bottleneck line from RTT in the communication session, determines an increment of the congestion window in a congestion avoidance operation based on the estimated line utilization rate, and determines a size of the congestion window to be applied based on said increment when the congestion window is increased.
In addition, PTL 4, in which a fourth related technology is described, discloses a technology in which a retransmission packet is transmitted to more reliably reach to a receiver by properly controlling a transmission rate.
Furthermore, PTL 5, in which a fifth related technology is described, discloses a transmission technology which realizes an effective rate control in consideration of characteristics of a wireless environment by performing a rate control based on network information in the wireless environment.